/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Gestioncategorias;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import gestionJDBC.*;

/**
 *
 * @author Adrian
 */
public class CategoriasDB {
    
    private static gestorJDBC gestor = gestorJDBC.getInstance();
     
    public CategoriasDB(){
     
    }

    public boolean introduceDatos(String n, String s, Integer min, Integer max){
        
        boolean confirmacion;
        
        confirmacion = gestor.Insertar("INSERT INTO categoria (nombre,sexo,edad_maxima,edad_minima,alta) "
                                + "VALUES ('"+ n + "','" + s + "'," + max + "," + min + ", 1)");
           
        return confirmacion;
        
    }
    
    public ArrayList<Categoria> listarCategorias(){
        
        ArrayList<Categoria> categ = new ArrayList<Categoria>();
        
	ResultSet rs = null;
        
        rs = gestor.Consultar("SELECT * FROM categoria where alta=1");
        
        int i = 0; 
        try{
            
            while(rs.next()){
                
                categ.add(new Categoria());
                categ.get(i).SetId((Integer) rs.getObject("id_categoria"));
                categ.get(i).SetNombre(rs.getObject("nombre").toString());
                categ.get(i).SetSexo(rs.getObject("sexo").toString());
                categ.get(i).SetEdadMaxima((Integer) rs.getObject("edad_maxima"));
                categ.get(i).SetEdadMinima((Integer) rs.getObject("edad_minima"));
                
                i++;
            }
        
        }catch(SQLException e ){
            JOptionPane.showMessageDialog(null,"Error al obtener la lista de categorias\n"
							+ e.getMessage());
	}
                        
        return categ;
        
    }

    public boolean setDatosCategoria(Integer id,String nombre,String sexo, Integer edadmin, Integer edadmax){
        
        boolean confirmacion;
                  
        confirmacion = gestor.Modificar("UPDATE categoria SET nombre='"+ nombre+"', sexo='" + sexo 
                                            + "', edad_maxima=" + edadmax + ",edad_minima ="+ edadmin 
                                            + "  WHERE id_categoria="+id);
                  
        return confirmacion;
        
    }

    public boolean borrarCategoria(Integer id){
        
        
           boolean confirmacion;
                      
           confirmacion = gestor.Modificar("UPDATE categoria SET alta=0 WHERE id_categoria="+id);    
                      
           return confirmacion;
        
        
    }

}
